package com.atguigu.crowd.service.api;

import java.util.List;

import org.springframework.web.bind.annotation.RequestParam;

import com.atguigu.crowd.entity.Admin;
import com.atguigu.crowd.entity.AdminExample;
import com.github.pagehelper.PageInfo;

public interface AdminService {

	public void saveAdmin(Admin admin);

	public List<Admin> getAll();
	
	/**
	 * 
	 * @param loginAcct 管理员登录账号
	 * @param userPswd  管理员登录密码
	 * @return
	 */
	public Admin getAdminByLoginAcct(String loginAcct, String userPswd);
	
	/**
	 * 测试用，如果这样写，前端是不认的，前端不认识List，你到底是List还是实体，前端只认实体，所以我们改用getPageInfo这个方法
	 * @return
	 */
	public List<Admin>selectAdminByKeyword();
	
	/**
	 * 
	 * @param keyword 查询的关键字
	 * @param pageNum 当前页码
	 * @param pageSize 每页显示多少数据
	 * @return
	 */
	PageInfo<Admin>getPageInfo(String keyword,Integer pageNum,Integer pageSize);
	
	/**
	 * 删除1条管理员（用户）数据
	 * @param id
	 */
	public void adminDeleteOne(Integer id);
	
	/**
	 * 新增1条管理员（用户）数据
	 * @param admin
	 * @return
	 */
	public int adminAddOne(Admin admin);

	/**
	 * 根据主键id查找出 实体对象
	 * @param id
	 * @return
	 */
	public Admin getAdminByPrimaryKey(Integer id);

	/**
	 * 执行修改
	 */
	public void updateByExampleSelective(Admin admin);

	/**
	 * 删除1条或者多条管理员（用户）数据都可以，通用的删除方法
	 * @param id
	 */
	public int adminDeleteArray(List<Integer> ids);

	/**
	 *  保存用户和角色关系表
	 * @param adminId
	 * @param roleIdList
	 */
	void saveAdminRoleRalationship(Integer adminId, List<Integer> roleIdList);
}












